/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lpii.clases;

/**
 *
 * @author
 */
public class Empleado {

    private String dni;
    private String nombre;
    private String apellidoPaterno;
    private String apellidoMaterno;
    private int tipoTrabajador;
    private double sueldo;
    private boolean estaTrabajando;
    private boolean estaDatosBloqueado;

    public String getApellidoMaterno() {
        return apellidoMaterno;
    }

    public void setApellidoMaterno(String apellidoMaterno) {
        this.apellidoMaterno = apellidoMaterno;
    }

    public String getApellidoPaterno() {
        return apellidoPaterno;
    }

    public void setApellidoPaterno(String apellidoPaterno) {
        this.apellidoPaterno = apellidoPaterno;
    }

    public String getDni() {
        return dni;
    }

    public void setDni(String dni) {
        this.dni = dni;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getTipoTrabajador() {
        return tipoTrabajador;
    }

    public void setTipoTrabajador(int tipoTrabajador) {
        this.tipoTrabajador = tipoTrabajador;
        switch (tipoTrabajador) {
            case 1:
                this.setSueldo(1000);
                break;
            case 2:
                this.setSueldo(1200);
                break;
            case 3:
                this.setSueldo(2000);
                break;
            case 4:
                this.setSueldo(600);
                break;
        }
    }

    public double getSueldo() {
        return sueldo;
    }

    public void setSueldo(double sueldo) {
        this.sueldo = sueldo;
    }

    public boolean isEstaDatosBloqueado() {
        return estaDatosBloqueado;
    }

    public void setEstaDatosBloqueado(boolean estaDatosBloqueado) {
        this.estaDatosBloqueado = estaDatosBloqueado;
    }

    public boolean isEstaTrabajando() {
        return estaTrabajando;
    }

    public void setEstaTrabajando(boolean estaTrabajando) {
        this.estaTrabajando = estaTrabajando;
    }

    public Empleado() {
    }

    public Empleado(String dni, String nombre, String apellidoPaterno, String apellidoMaterno, int tipoTrabajador) {
        this.dni = dni;
        this.nombre = nombre;
        this.apellidoPaterno = apellidoPaterno;
        this.apellidoMaterno = apellidoMaterno;
        this.setTipoTrabajador(tipoTrabajador);
        this.estaTrabajando = true;
        this.estaDatosBloqueado = false;
    }

    public Empleado(String dni, String nombre, String apellidoPaterno, String apellidoMaterno, int tipoTrabajador, boolean estaTrabajando, boolean estaDatosBloqueado) {
        this.dni = dni;
        this.nombre = nombre;
        this.apellidoPaterno = apellidoPaterno;
        this.apellidoMaterno = apellidoMaterno;
        this.setTipoTrabajador(tipoTrabajador);
        this.estaTrabajando = estaTrabajando;
        this.estaDatosBloqueado = estaDatosBloqueado;
    }

    @Override
    public String toString() {
        String cad = dni + "\t" + apellidoPaterno + " " + apellidoMaterno + ", " + nombre + "\t";
        switch (tipoTrabajador) {
            case 1:
                cad += "jefe";
                break;
            case 2:
                cad += "secretaria";
                break;
            case 3:
                cad += "técnico";
                break;
            case 4:
                cad += "servicio";
                break;
        }
        return cad;
    }
    
    public double HoraFalta() {
        double porcentaje=0.0;
        switch (tipoTrabajador) {
            case 1:
                porcentaje=0.05;
                break;
            case 2:
                porcentaje=0.03;
                break;
            case 3:
                porcentaje=0.02;
                break;
            case 4:
                porcentaje=0.02;
                break;
        }
        return porcentaje;
    }
    
    public double HoraAdicional() {
        double porcentaje=0.0;
        switch (tipoTrabajador) {
            case 1:
                porcentaje=0.01;
                break;
            case 2:
                porcentaje=0.015;
                break;
            case 3:
                porcentaje=0.02;
                break;
            case 4:
                porcentaje=0.015;
                break;
        }
        return porcentaje;
    }
    
    public double HoraTardanza() {
        double porcentaje=0.0;
        switch (tipoTrabajador) {
            case 1:
                porcentaje=0.01;
                break;
            case 2:
                porcentaje=0.015;
                break;
            case 3:
                porcentaje=0.02;
                break;
            case 4:
                porcentaje=0.015;
                break;
        }
        return porcentaje;
    }
    
}
